Column1

Detecciones con cámara trampa y avístamientos incidentales

Esfuerzo de muestreo

Kavanayen Warapata
Nr. bloques 4 6
Nr. celdas 51 72
Nr. celdas muestreadas 40 72
Nr. celdas con cámaras 14 57
Días*cámara 703 4548
Nr. celdas visitadas 39 59
Distancia recorrida (km) 119.49 [km] 218.14 [km]

Observaciones por especie

Column2

Mapa

Caminata

Error : The fig.showtext code chunk option must be TRUE

Rastros y otros avistamientos

Esfuerzo de muestreo (expandido)

Información sobre la sesión de R

R version 4.3.1 (2023-06-16)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Manjaro Linux

Matrix products: default
BLAS:   /usr/lib/libblas.so.3.11.0 
LAPACK: /usr/lib/liblapack.so.3.11.0

locale:
 [1] LC_CTYPE=en_GB.UTF-8       LC_NUMERIC=C              
 [3] LC_TIME=en_AU.UTF-8        LC_COLLATE=en_GB.UTF-8    
 [5] LC_MONETARY=en_AU.UTF-8    LC_MESSAGES=en_GB.UTF-8   
 [7] LC_PAPER=en_AU.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=en_AU.UTF-8 LC_IDENTIFICATION=C       

time zone: Australia/Sydney
tzcode source: system (glibc)

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] RColorBrewer_1.1-3  tmap_3.3-4          chron_2.3-61       
 [4] raster_3.6-23       tidyr_1.3.0         units_0.8-4        
 [7] htmltools_0.5.6     DT_0.29             ggplot2_3.4.3      
[10] sp_2.1-0            leaflet_2.2.0       dplyr_1.1.3        
[13] flexdashboard_0.6.2

loaded via a namespace (and not attached):
 [1] gtable_0.3.4             xfun_0.40                bslib_0.5.1             
 [4] htmlwidgets_1.6.2        lattice_0.21-8           leaflet.providers_1.13.0
 [7] vctrs_0.6.3              tools_4.3.1              crosstalk_1.2.0         
[10] generics_0.1.3           curl_5.1.0               parallel_4.3.1          
[13] tibble_3.2.1             proxy_0.4-27             fansi_1.0.4             
[16] pkgconfig_2.0.3          KernSmooth_2.23-21       lifecycle_1.0.3         
[19] farver_2.1.1             compiler_4.3.1           textshaping_0.3.6       
[22] munsell_0.5.0            terra_1.7-46             fontawesome_0.5.2       
[25] codetools_0.2-19         leafsync_0.1.0           stars_0.6-4             
[28] class_7.3-22             sass_0.4.7               yaml_2.3.7              
[31] pillar_1.9.0             jquerylib_0.1.4          ellipsis_0.3.2          
[34] thematic_0.1.3           classInt_0.4-10          cachem_1.0.8            
[37] lwgeom_0.2-13            wk_0.8.0                 abind_1.4-5             
[40] tidyselect_1.2.0         digest_0.6.33            sf_1.0-14               
[43] purrr_1.0.2              labeling_0.4.3           rprojroot_2.0.3         
[46] fastmap_1.1.1            grid_4.3.1               here_1.0.1              
[49] colorspace_2.1-0         cli_3.6.1                magrittr_2.0.3          
[52] base64enc_0.1-3          dichromat_2.0-0.1        XML_3.99-0.14           
[55] utf8_1.2.3               leafem_0.2.3             e1071_1.7-13            
[58] withr_2.5.1              scales_1.2.1             rmarkdown_2.25          
[61] ragg_1.2.5               png_0.1-8                memoise_2.0.1           
[64] evaluate_0.22            knitr_1.44               tmaptools_3.1-1         
[67] viridisLite_0.4.2        s2_1.1.4                 rlang_1.1.1             
[70] Rcpp_1.0.11              glue_1.6.2               DBI_1.1.3               
[73] rstudioapi_0.15.0        jsonlite_1.8.7           R6_2.5.1                
[76] fs_1.6.3                 systemfonts_1.0.4       

Column3

Warapata

Eventos fotográficos

887

Otros avistamientos

151

Especies

30

Kavanayen

Eventos fotográficos

175

Otros avistamientos

14

Especies

17
---
title: "Monitoreo de Mamíferos y otros vertebrados en la Gran Sabana"
output: 
  flexdashboard::flex_dashboard:
    theme:
      version: 4
      bg: "#F1FBFB"
      fg: "#5B1A18"
      primary: "#D67236"
      navbar-bg: "#FD6467" 
      base_font: 
        google: Prompt
      heading_font:
        google: Sen
      code_font:
        google: 
          # arguments to sass::font_google() 
          family: JetBrains Mono
          local: false
    social: menu
    source: embed
    navbar:
      - { title: "Proyecto en OSF", href: "https://osf.io/6qtep/", align: left }
      - { title: "Repositorio GitHub", href: "https://github.com/jrfep/GS-svocc", align: left }
editor_options: 
  chunk_output_type: console
---

```{r setup, include=FALSE}
library(flexdashboard)
library(dplyr)
library(leaflet)
library(sp)
library(ggplot2)
library(DT)
library(htmltools)
library(units)
#library(plotly)
#library(spocc)
#library(rinat)
#library(mapr)
require(tidyr)
require(raster)
require(chron)
#library(sf)
library(tmap)
#library(lubridate)
#library(calendR)

library(RColorBrewer)
palette(brewer.pal(8, "Set2"))

```

```{r thematic, include = FALSE}
thematic::thematic_rmd(font = "auto")
```

```{r dataread, message=FALSE, warning=FALSE, include=FALSE}

here::i_am("doc/dashboard.Rmd")
GIS.data <- here::here("Rdata","GIS.rda")
if (!file.exists(GIS.data))
  download.file(url="https://figshare.com/ndownloader/files/37547995",destfile=GIS.data)
load(GIS.data)

event.data <- here::here("Rdata","all-events.csv")
if (!file.exists(event.data))
  download.file(url="https://figshare.com/ndownloader/files/42055824",destfile=event.data)
eventos_actualizados <- read.csv2(event.data)
coordinates(eventos_actualizados) <- c("long","lat")
crs(eventos_actualizados) <- grd@proj4string
qry <- over(eventos_actualizados,grd)
eventos_actualizados$grid <- qry$OID_

## differences between both event data frames:
eventos_adicionales <- eventos %>% filter(!species %in% eventos_actualizados$species) %>%
  mutate(fotos=as.character(fotos))


eventos <- eventos_actualizados@data %>% 
  bind_rows(eventos_adicionales)

cam <- camaras %>% 
  group_by(grid) %>% 
  summarise(cam = sum(dias.de.trabajo),
            caz = max(caza.celda)) %>% 
  transmute(grid, caz, cam)

tps_xy <- spTransform(tps, CRS("+proj=utm +zone=19 +datum=WGS84 +units=m +no_defs +type=crs"))
xys <- coordinates(tps_xy)


walk <- tps@data %>% 
  group_by(grid) %>% 
  summarise(walk = n(),
            dates = n_distinct(time))

walk_ms <- data.frame()
for (k in unique(tps_xy@data$grid)) {
  ss <- tps_xy@data$grid == k
  mtz <- as.matrix(dist(xys[ss,]))
  mtz[upper.tri(mtz,diag = TRUE)] <- NA
  walk_ms <- rbind(walk_ms, data.frame(grid=k, dist_walk=sum(apply(mtz[-1,],1, min, na.rm=TRUE))))
}

walk <- walk %>% left_join(walk_ms, by = "grid") %>%
  mutate(region = if_else(grid <151, "Warapata", "Kavanayen"))

gpslog <- spLines(subset(tps,tps@data$track_fid ==0),
        subset(tps,tps@data$track_fid ==1), 
        subset(tps,tps@data$track_fid ==2),
        subset(tps,tps@data$track_fid ==3),
        subset(tps,tps@data$track_fid ==5),
        subset(tps,tps@data$track_fid ==6),
        subset(tps,tps@data$track_fid ==7),
        subset(tps,tps@data$track_fid ==10),
        subset(tps,tps@data$track_fid ==11),
        subset(tps,tps@data$track_fid ==12),
        subset(tps,tps@data$track_fid ==13),
        subset(tps,tps@data$track_fid ==14),
        subset(tps,tps@data$track_fid ==15),
        subset(tps,tps@data$track_fid ==16),
        subset(tps,tps@data$track_fid ==17),
        attr=data.frame(fid=0:14))

event_summary <- eventos %>%
  group_by(grid) %>%
  summarise(
    total_spp=n_distinct(species))

on_camera_event_summary <- eventos %>%
  filter(!camara %in% "RAS") %>% 
  group_by(grid) %>%
  summarise(
    on_camera_spp=n_distinct(species),
    on_camera_events=n())

off_camera_event_summary <- eventos %>%
  filter(camara %in% "RAS") %>% 
  group_by(grid) %>%
  summarise(
    off_camera_spp=n_distinct(species),
    off_camera_events=n())


event_summary <- event_summary %>% 
  left_join(on_camera_event_summary, by = "grid") %>% 
  left_join(off_camera_event_summary, by = "grid")

effort_data <- walk %>%
  full_join(cam, by = "grid") %>%
  full_join(event_summary, by = "grid") %>%
  filter(!is.na(grid) ) %>%
  transmute(grid, 
            walk=coalesce(walk,0L),
            dist_walk=coalesce(dist_walk,0L),
            cam=coalesce(cam,0L),
            total_spp=coalesce(total_spp,0L),
            on_camera_spp=coalesce(on_camera_spp,0L),
            off_camera_spp=coalesce(off_camera_spp,0L),
            on_camera_events=coalesce(on_camera_events,0L),
            off_camera_events=coalesce(off_camera_events,0L)) 


effort_data$bloque <- factor(grd@data$cuadrado[match(effort_data$grid,grd@data$OID_)])

grd@data <- grd@data %>% 
  left_join(event_summary, by=c("OID_"="grid")) %>% 
  transmute(Celda=OID_,
            Bloque=cuadrado,
            #`Distancia recorrida` = dist_walk,
            #`Dias*cámara` = cam,
            `Eventos fotográficos` = coalesce(on_camera_events,0L),
            `Otros avistamientos` = coalesce(off_camera_events,0L),
            `Especies fotografiadas` = coalesce(on_camera_spp,0L),
            `Especies avistadas` = coalesce(off_camera_spp,0L),
            `Total spp. detectadas` = coalesce(total_spp,0L), 
            )

```


Column1{.tabset .tabset-fade data-width=250}
-------
Detecciones con cámara trampa y avístamientos incidentales

### Esfuerzo de muestreo {data-width=245}

```{r esfuerzo}

cuadro_2 <- effort_data %>% 
  mutate(Region = if_else(bloque %in% 1:6,"Warapata","Kavanayen")) %>%
  group_by(Region) %>% 
  summarise(
    `Nr. bloques` = n_distinct(bloque),
    `Nr. celdas` = n_distinct(grid),
    `Nr. celdas muestreadas` = sum(if_else(cam>0 | dist_walk>0,1,0)),
    `Nr. celdas con cámaras` = sum(if_else(cam>0,1,0)),
    `Días*cámara`=sum(cam),
    `Nr. celdas visitadas` = sum(if_else(dist_walk>0,1,0)),
    `Distancia recorrida (km)` = sum(set_units(dist_walk,'m')) %>% set_units('km') %>% round(2),
   .groups = "keep") %>% t()

colnames(cuadro_2) <- cuadro_2[1,]

cuadro_2[-1,] %>% knitr::kable()

```

### Observaciones por especie {data-width=245}
```{r taxalist}


cuadro_1 <- eventos %>% group_by(Especie = species) %>% summarise(`Eventos fotográficos` = sum(!camara %in% "RAS"),`Otros avistamientos`=sum(camara %in% "RAS")) 

  DT::datatable(
    cuadro_1,
    #colnames = ,
    #caption = tbl_caption,
    options = list(
      dom = 't', 
      pageLength = -1,
      order = list(list(1, 'desc'),list(2, 'desc'))),
    #container=my.container,
    rownames = FALSE,
    width = '100%', 
    height = '100%') #%>%
#  formatRound(c("min_RS", "mean_RS", "max_RS", "mean_RS_cor"),digits=3)



```



Column2 {.tabset .tabset-fade}
-------


### Mapa
```{r map, eval = TRUE}
tmap_mode("view")
map1 <- 
  tm_shape(gpslog, name = "Recorrido (GPS)") +
  tm_lines(col = "maroon") +
  tm_shape(subset(grd,Bloque %in% 1:6), name = "Warapata: Unidades de muestreo") + 
  tm_polygons( border.col = "#F1BB7B", alpha=.5) +
  tm_shape(subset(grd,Bloque %in% 7:10), name = "Kavanayen: Unidades de muestreo") + 
  tm_polygons( border.col = "#FD6467", alpha=.5) +
  tm_minimap()

tmap_leaflet(map1)

```


### Caminata {data-width=245}

```{r "walking distance", fig.showtext = TRUE}
ggplot(data=walk, aes(x = walk, y = dist_walk, colour = region)) +
  geom_point() +
  scale_colour_manual(values=c("Kavanayen"="#FD6467","Warapata"="#F1BB7B")) +
  labs(x="GPS log points", y = "Distancia (metros)", title = "Distancia recorrida en cada unidad de muestreo (celda)")
```


### Rastros y otros avistamientos {data-width=245}

```{r xtraKavanayen}
filter(eventos,  camara %in% "RAS") %>% 
  transmute(Especie=species, `Tipo de evidencia`=evento, Bloque=bloque, Celda=grid, Año=ano, Mes=mes,Día=dia) %>% 
  DT::datatable(options = list(
      pageLength = 25,
      order = list(list(4, 'asc'),list(5, 'asc'),list(6, 'asc'))),
    rownames = FALSE)
```


### Esfuerzo de muestreo (expandido)
```{r obsbyyear}

effort_data %>% 
  group_by(bloque) %>% 
  summarise(`nr. de celdas`=n_distinct(grid),
            `Puntos del log del GPS` = sum(walk),
            `Distancia recorrida (km)` = sum(set_units(dist_walk,'m')) %>% set_units('km'),
            `Días cámara` = sum(cam),
            `Eventos fotográficos` = sum(on_camera_events),
            `Otros avistamientos` = sum(off_camera_events)) %>% 
  DT::datatable(options = list(
      pageLength = 25),
    rownames = FALSE) %>%
  formatRound(c("Distancia recorrida (km)"),digits=2)

```

### Información sobre la sesión de R
```{r sessionInfo}
sessionInfo()

```
Column3{data-width=150}
-------

### Warapata

### Eventos fotográficos

```{r}
on_camera <- effort_data %>% filter(bloque %in% 1:6) %>% summarise(sum(on_camera_events)) %>% pull
off_camera <- effort_data %>% filter(bloque %in% 1:6) %>% summarise(sum(off_camera_events)) %>% pull
n_especies <- eventos %>% filter(bloque %in% sprintf("B%02d",1:6)) %>% summarise(n_distinct(species)) %>% pull
valueBox(on_camera, icon = "fa-camera", color = "#F1BB7B")
```

### Otros avistamientos

```{r}
valueBox(off_camera, icon = "fa-binoculars", color = "#F1BB7B")
```
### Especies

```{r}
valueBox(n_especies, icon = "fa-paw", color = "#F1BB7B")
```

### Kavanayen

### Eventos fotográficos

```{r}
on_camera <- effort_data %>% filter(bloque %in% 7:10) %>% summarise(sum(on_camera_events)) %>% pull
off_camera <- effort_data %>% filter(bloque %in% 7:10) %>% summarise(sum(off_camera_events)) %>% pull
n_especies <- eventos %>% filter(bloque %in% sprintf("B%02d",7:10)) %>% summarise(n_distinct(species)) %>% pull
valueBox(on_camera, icon = "fa-camera", color = "#FD6467")
```

### Otros avistamientos

```{r}
valueBox(off_camera, icon = "fa-binoculars", color = "#FD6467")
```

### Especies

```{r}
valueBox(n_especies, icon = "fa-paw", color = "#FD6467")
```